

public interface VisitedCellHelper
{
	
	/**
	 * 
	 * Checks wherever a cell has not yet been visited.
	 * 
	 * @param move the coordinates of the cell.
	 * @return true if visited, false otherwise.
	 */
	public boolean unisitedCell( Move move );
	
	/**
	 * 
	 * Checks wherever a cell has not yet been visited.
	 * 
	 * @param x the X coordinates of the cell.
	 * @param y the Y coordinates of the cell.
	 * @return true if visited, false otherwise.
	 */
	public boolean unisitedCell( int x, int y );
	
	/**
	 * 
	 * Registers a cell as visited.
	 * 
	 * @param move the coordinates of the cell.
	 */
	public void registerCellAsVisited( Move move );
	
	/**
	 * 
	 * Registers a cell as visited.
	 * 
	 * @param x the X coordinates of the cell.
	 * @param y the Y coordinates of the cell.
	 */
	public void registerCellAsVisited( int x, int y );
	
	/**
	 * @return a cloned instance of this object.
	 */
	public VisitedCellHelper clone();

}
